package com.czk.netty.netty.bytebuf;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;

/**
 * 在netty的buffer中，不需要flip()刷新状态
 * 因为底层维护了readIndex和writeIndex
 *
 * @Author:ChenZhangKun
 * @Date: 2021/1/15 22:06
 */
public class NettyByteBuf01 {
    public static void main(String[] args) {
        // 创建一个bytebuf
        ByteBuf buf = Unpooled.buffer(10);
        for (int i = 0; i < 10; i++) {
            buf.writeByte(i);
        }
        System.out.println("capacity=" + buf.capacity());
        // 输出
        for (int i = 0; i < buf.capacity(); i++) {
            // get方法并不会导致readIndex的变化
            System.out.println(buf.getByte(i));
        }
        for (int i = 0; i < buf.capacity(); i++) {
            // 此时会导致readIndex的变化
            // readerIndex-writeIndex表示可读的区域
            System.out.println(buf.readByte());
        }
    }
}
